Information caching is important for efficient functioning of network applications. Various applications, such as Web browsers, voice-over-packet communication, and other network applications, use caches to make information available without having to retrieve it again from a database. This saves time and network resources used in repeatedly retrieving information. On the other hand, information that needs to be updated must be kept as current as possible to protect accuracy. Consequently, it is desirable to improve the ability of a caching system to determine how long information should be maintained in the cache and when the information should be reloaded.